Many developers are building cloud applications that are run on cloud platforms that provide infrastructure as a service. Typically, as they have no control over the cloud platform infrastructure, these developers are unable to evaluate the resiliency of their cloud applications to infrastructure failures of the cloud platform before deploying to production. As a result, developers may not be able to ensure that their cloud application is resilient to a given infrastructure failure until that failure happens during production.